using System;
using SheLife.Domain.Common;

namespace SheLife.Domain.Entities
{
    /// <summary>
    /// 成长目标模板实体类
    /// </summary>
    public class GrowthGoalTemplate : BaseEntity
    {
        /// <summary>
        /// 模板名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 模板描述
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 模板分类
        /// </summary>
        public string Category { get; set; }

        /// <summary>
        /// 模板标签
        /// </summary>
        public string Tags { get; set; }

        /// <summary>
        /// 模板图标
        /// </summary>
        public string Icon { get; set; }

        /// <summary>
        /// 模板颜色
        /// </summary>
        public string Color { get; set; }

        /// <summary>
        /// 模板难度
        /// </summary>
        public string Difficulty { get; set; }

        /// <summary>
        /// 模板周期（天）
        /// </summary>
        public int Duration { get; set; }

        /// <summary>
        /// 模板内容
        /// </summary>
        public string Content { get; set; }

        /// <summary>
        /// 模板步骤
        /// </summary>
        public string Steps { get; set; }

        /// <summary>
        /// 模板提示
        /// </summary>
        public string Tips { get; set; }

        /// <summary>
        /// 模板示例
        /// </summary>
        public string Examples { get; set; }

        /// <summary>
        /// 模板资源
        /// </summary>
        public string Resources { get; set; }

        /// <summary>
        /// 使用次数
        /// </summary>
        public int UsageCount { get; set; }

        /// <summary>
        /// 收藏次数
        /// </summary>
        public int FavoriteCount { get; set; }

        /// <summary>
        /// 完成次数
        /// </summary>
        public int CompletionCount { get; set; }

        /// <summary>
        /// 平均评分
        /// </summary>
        public decimal AverageRating { get; set; }

        /// <summary>
        /// 是否热门
        /// </summary>
        public bool IsPopular { get; set; }

        /// <summary>
        /// 是否推荐
        /// </summary>
        public bool IsRecommended { get; set; }

        /// <summary>
        /// 是否启用
        /// </summary>
        public bool IsEnabled { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 创建人ID
        /// </summary>
        public Guid CreatedBy { get; set; }

        /// <summary>
        /// 更新人ID
        /// </summary>
        public Guid? UpdatedBy { get; set; }

        // 导航属性
        public ICollection<GrowthGoal> GrowthGoals { get; set; }
    }
}